Many processes, such as computer-implemented manufacturing processes, require the management of multi-parameter configuration information. For example, “Build-to-Stock” manufacturing systems assemble large quantities of identical products to meet forecasted demand. The assembly line is tooled for the desired product. Assembled products are then warehoused until a demand occurs. While such systems offer economies of scale based upon the assembly of large quantities of identical units without retooling, successful implementation requires careful inventory management. At any given time the quantity and location of assembled products having specified attributes must be ascertainable to forecast demand, regulate assembly operations and match inventory with orders.
Computers and automobiles are examples of products assembled in build-to stock manufacturing environments. They are multiparameter items, as they are generally identifiable by various product features (i.e., parameters). For example, an automobile may be identified by its make, model, color, etc. Likewise, a personal computer may be identified by its model, CPU, RAM, etc. Furthermore, they are configurable items, as each parameter may be varied within a limited range of possible values for a particular manufacturing system.
Manufacturing and inventory management systems typically store and track information pertaining to products. The information may include a plurality of records, each having a number of different fields. In the case of an automobile manufacturing system, for example, the fields may include make, model, color, etc. Locating a record or group of records using predetermined search criteria, such as a particular make, model and color of an automobile, can be accomplished by sequentially searching each record and comparing the data in the make, model and color fields with the desired make, model and color. In such a case, a separate comparison may be required for each searched field of a record, until a non-matching entry is detected. Of course, the time required for such a search depends, in part, upon the number of records in the database, as well as the number of fields searched.
Searching is often one of the most time-consuming operations of an application, and substituting a good search method for an inefficient one may substantially improve performance. While techniques known in the art, such as sorting, binary tree and hashing techniques, can reduce searching time, they are often cumbersome to implement and do not restructure records to facilitate searching. Instead, such techniques are generally designed to work irrespective of the number of fields per record, even where each field has an unlimited number of possible entries. Consequently, techniques known in the art fail to leverage characteristics of records that may facilitate searching.
Thus, a system and method are needed to facilitate storage, searching and retrieval of information for multi-parameter configurations, while providing a unique identification for every possible configuration, allowing the addition of parameters, accommodating expansion of a range of options per parameter without requiring conversion of existing configuration information and being compatible with existing data storage, searching and retrieval techniques.